-
Notifications
You must be signed in to change notification settings - Fork 3
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. Weβll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Release 2.2 #40
Merged
Merged
Release 2.2 #40
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
ππ¨ Add Bioconda project url to setup.py π¨ Add toast when browser storage limits are reached (issue #11) :art::memo: Move favicon to automappa/assets :arrow_up::art: Add geom-median to environment.yml :art: Add get_clusters_geom_medians(...) to celery tasks :arrow_up::art: Bump VERSION to 2.2.0 :see_no_evil: Add data to .gitignore
β¦bitmq) for task-queue
Add TODOs for WIP next steps... To be checked before merge into develop
π¨π Prevent samples-store data from being overwritten on initial callback π¨ samples-store data now persistent with local session π¨ Refactor some variables in MAG refinement π¨ WIP
β¦ MetaData.table.keys() Should now be able to π₯ remove all of the data stores to track the fileupload table_id... π₯
π³π»ππ¨ Add docker-services: celery, flower, prometheus, grafana, redis, rabbitmq π¨π₯ Remove environment/*.env files. Consolidate to .env with corresponding prefixes π¨ Change pydantic models built on BaseSettings in automappa.settings to use only .env with env_prefix π¨π» Add working configuration of celery task-queue with redis backend and rabbitMQ broker π Add resources/references for misc. links used during debugging/troubleshooting β¬οΈ Add flower. Move celery[redis] to pip install section of environment.yml π¨ black formatting to serializers and change server.upload_folder root to server.root_upload_folder π¨ blak formatting to home.py
π¨ dbc.Select(...) are now populated with values from db tables ππ¨ Investigate whether serializer.get_uploaded_files_table() is functional (TODO) π³ Add commented out arg to create_engine(..., pre_pool_ping: Optional[bool]) and db settings π³ Add PRE_POOL_PING to .env
π₯ Remove (now deprecated) stores π¨ Add serialization of a hash-refinement table when hash-binning file is uploaded (respective to hash-binning) π¨ Remove --debug arg from parser. Move statement to .env (now handle read with automappa.settings.server.debug π₯ remove unused imports in index.py π¨ Move samples stores from home.py to index.py Add dbc.InputGroup(...) with selects for binning, markers and metagenome π¨ Add dbc.Button(...) to save table-ids in 'selected-tables-store' to be read from mag_refinement.py π¨π Continue refactor of get_scatterplot_2d(...) to use other embedding methods π¨ Add get_marker_symbols(...) to tasks.py and automappa.utils.markers (WIP currently being used to *expensively* generate symbols during 2d scatterplot creation
π₯ Remove unused (commented out) argparse args π₯π¨π³ Update automappa-web service command to not use removed argparse args
Will still need to ensure this is working once celery tasks are implemented
ππ₯ Fix sankey diagram subsetting bug where selections would not render π¨ Change MAG-specific completeness/purity boxplot to barplot π¨ Rename save_to_db(...) to file_to_db(...) in serializer π¨ Add metric_barplot(...) func to automappa.utils.figures
- π³π¨ Add mem_limit: 4GB to automappa-web service - π¨π Remove ability for user to navigate to other tabs when no data has been uploaded/selected - π¨ Disable 'Refine mags' button if data has not been selected - π¨ Add DataTable(...) to visualize the currently loaded datasets - π¨ Change server settings import so it is clear that the server setting are imported and not the server - π¨π₯ Silence numba and h5py loggers in mag_refinement.py (beginnings of celery task-queue tasks implementation) - π¨ Add logger to automappa.tasks - π Fix logger emitted message during refinement data serialization to postgres db
β¦g methods π¨π Need to replace kmers.embed(...) method in tasks.py to include n_jobs=1 when autometa 2.0.4 release is out π¨π₯¦ Add celeryconfig π¨π₯¦ Add working kmer freq. analysis parallelize pipeline for use in task-queue π¨ Add use of pydantic.BaseModel in models.py of SampleTables, KmerTable, AnnotationTable and misc. others (WIP) π¨ Add construction of SeqIO.SeqRecords when retrieving metagenome from table using new func, get_metagenome_seqrecords(...) π¨ Refactor get_contig_marker_counts(...) π¨ Refactor get_marker_symbols(...) in markers.py π¨π₯ Remove hard-coded values in automappa.utils.figures.get_embedding_traces_df(...) π¨ Parse selected_data_tables as SampleTables.parse_raw(selected_data_tables) for shared data π¨ Add tasks button to home.py π¨ Replace typehints for selected_data_tables to Json[SampleTables]
π¨ Fetch data from postgres service π¨π₯¦ Retrieve scatterplot-2d coordinates from celery task-queue results (selected from auto-generated dropdown) π¨π» Add flower configuration env variable to settings.py π¨ generate product of all combinations of kmer pipeline params (kmer_size, norm_method, embed_method) for 2d-coords retrieval π¨ππ Retrieve mag summary data from SampleTables properties instead of using get_table(...) π₯π Remove default value of 'cluster' for mag_summary_cluster_col_dropdown π¨π₯ Remove unnecessary nested lists of Input(...) in mag_summary callbacks π¨ Add long_callback_manager to app (WIP: currently not being used) π¨ Add handling of kmer param titles and metagenome annotation titles to format_axis_title(...) in figures.py π¨π³π° Change rabbitmq image from latest to 3.10.1-management-alpine (w/port) to use amqp management UI
π Move misc. markdown docs to docs directory
π³ Ignore .vscode for docker context π³ Install mamba and prune prior to env update
ππ Add dash-extensions to enable caching π₯ Reduce kmer tasks to am_clr norm method and kmer_size of 5 (bhsne, densmap and umap embeddings)
Turn off debug mode by default
π₯ Change clone of `home-tab` branch to `develop` branch
π³πΊπ¨ Automappa web app with home tab for data upload - π₯¦ Add task-queue for pre/post-processing tasks with celery - π₯ Add Redis service for celery backend - π° Add RabbitMQ service for celery broker - π Add PostgreSQL for data ingestion - π· Add Flower for celery task-queue monitoring - ππ¨ Add Pydantic for data models - π³ Add docker-compose file to orchestrate Automappa services
* π¨ Apply black formatting * π¨β¬οΈπ€ refactor to use dash-extensions DashBlueprints * Significantly simplified code base with modular components that are each passed their own page's app (DashBlueprint) * components and layouts are standardized to use render function that may receive the app with or without arguments * π₯ Remove (now) unnecessary index.py * β¬οΈ Pin dash-extensions to first major release * β¬οΈ Pin dash to 2.10 * β¬οΈ Add dash-mantine-components * β¬οΈ Add dash-iconify * π Add contributing docs * π¨πππ³ Fix docs, prop id and docker specs * π³ Add quotes around ports per docker-compose spec * ππ¨π₯ add Development resources π¨π₯ Add icons to not found page and remove unnecessary text * π¨ Refactor mag refinement page components * π¨ Refactor marker symbols legend to use icons rather than naming shapes * π¨ Restyle save selections and settings buttons * π¨ Refactor mag-refinement offsettings canvas components * π¨ Add minimum example contig_cytoscape component * π¨ Add specific backend configurations * π¨ Add REDIS_BACKEND details to .env * π¨ Add specific backend params to Serverside(..., backend=...) from automappa.data.db import {redis,file_system}_backend * ππ₯ Refactor dash components to DashProxy components * β¬οΈ pin dash-mantine-components to 0.12 in env using pip rather than conda * π¨ Add icons in page registry with blueprints * π¨ Add coverage range slider component * π¨ Add Refinement model to track contig cluster refinements * π¨ Implement data source to connect MAG refinements table * π¨ Add methods to get latest user refinements contig headers * π¨ Add interaction b/w coverage range slider and scatterplot2d * π¨ Connect download refinements button to data source * π¨ Hide MAG refinements switch is now disabled when there are no user refinements that have been made * π¨ Refinements table has been styled with new timestamp string and removed 'initial_cluster' column * π¨ Refinements table now only retrieves user refinements (i.e. excludes initial clusters) * π¨ Add refinements clear button * Add working data source for completeness/purity boxplot * π¨ Add minimal working AgGrid for MAG Summary * π¨ Replace dbc.Offcanvas with dmc.Drawer * π¨ Replace many of the Dropdowns in Offcanvas with RadioGroup Radio options (less clicks for the user) * π₯π° Add logic for modular task-queue * π Add documentation for tasks in CONTRIBUTING and reference tasks README.md * π₯ Add minimum working example for task submission, progress display for a task status badge * π₯ Add task discovery for home page task in celeryconfig.py * π³π Replace base image of miniforge with mambaforge * π₯π¨ Notification system tells user of current state of tasks processing * ππ¨ Move dcc.Store(...) within respective du.Upload component * π¨ Add tasks store for getting tasks statuses * π°π₯ Add tasks in home for handling sample data ingestion * π¨ Add mag length sum computations * π¨ Add MIMAG cluster count computations * π¨ Add metadata to sample data card info * π Replace na values from cluster col during contig loader pre-processing * π¨π₯ Add sample removal feature * π¨ Affix settings and save mag buttons
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
aesthetic
Improvements or additions to aesthetics
dependencies
Pull requests that update a dependency file
documentation
Improvements or additions to documentation
enhancement
New feature or request
performance
Performance Improvements to speed-up user experience
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Release 2.2
A complete refactor for improved maintainability, code comprehension and most importantly performance.
New features for quickly exploring your environmental samples across multiple datasets. Automappa will persist your changes, so no longer must you spend hours painstakingly curating your genomes only for them to be lost by a pesky browser crash!
A shortlist of nice features with this update π